react 源码资料
一、react 17 视频https://xiaochen1024.com/series/600a9a104bf83f002edaf53fhttps://xiaochen1024.com/article_pagehttps://xiaochen1024.com/article_page二、深入剖析 React Concurrent https://zhuanlan.zhihu.com/p/60307571 三、时间切片(Time Slicing)https://juejin.cn/post/68449038...
2024-01-10vue 源码资料
Vue.js 技术揭秘https://ustbhuangyi.github.io/vue-analysis/v2/prepare/Vue源码阅读 - 文件结构与运行机制https://segmentfault.com/a/1190000015440980 ...
2024-01-10sentinel源码分析
sentinel 结构 release-1.7 未完后续更新sentinel-core 核心模块,限流、降级、系统保护等都在这里实现sentinel-dashboard 控制台模块,可以对连接上的sentinel客户端实现可视化的管理sentinel-transport 传输模块,提供了基本的监控服务端和客户端的API接口,以及一些基于不同库的实现sentinel-extension 扩展模块,主...
2024-01-10react 源码解析(上)
我们知道react的jsx语法最终会被babel转译成 React.createElement语法,通过这个语法,react节点就会被编译成一棵vdom树结构,我们看一个例子let ele1 = <h1 > <span>hello</span> <span>world</span></h1>ReactDOM.render(ele1, document.getElementById('root'))这个语法经过baebl转义之后就是下面这个语法React.createElement("h1", {...
2024-01-10LinkedList源码分析
LinkedList原理: 源码对应的jdk版本均为jdk11先看LinkedList的构造方法:有两个构造方法:1、无参数 2、参数为集合//默认创建一个LinkedLiseList<Integer> link = new LinkedList<>();//创建一个将其他类型集合的数据化为己用的LinkedListList<Integer> link1 = new LinkedList<Integer>(new HashSet<Integer>());看下LinkedList的属性: tra...
2024-01-10EF Core源码分析
最近在接触DDD+micro service来开发项目,因为EF Core太适合DDD模式需要的ORM设计,所以这篇博客是从代码角度去理解EF core的内部实现,希望大家能从其中学到一些心得体会去更好的写出高质量的代码。从github 上去下载ef core仓库, 本篇代码的版本是基于tag v5.0.3的,如果大家在以后看见这篇博客,可以在...
2024-01-10Vue3 源码逐行解析
Vue3 源码解析本文编写于 2020-06-10,脚手架使用 vite-app 版本 0.20.0,内置 vue 3.0.0-beta.14。ps: 可能大部分人都不清楚 vue3 的开发api,将源码之前先讲述 使用方法环境搭建最容易搭建 vue3 的方式就是使用作者的 vite通过 npm 安装 $ npm init vite-app <project-name>$ cd <project-name>$ npm install$ npm run dev也可以通过 ya...
2024-01-10CentOS7源码安装MySQL
CentOS7源码安装MySQL1:安装依赖包 执行:yum -y install ncurses-devel gcc-* bzip2-* bison 2:升级cmake工具(我用的是cmake-3.22.0-rc1.tar.gz)下载地址 源码安装基本步骤 1:解压:tar -xzvf cmake-3.22.0-rc1.tar.gz 2:配置:./config 3:编译:make -j4 4:安装:make install ...
2024-01-10React 源码中的依赖注入方法
一、前言依赖注入(Dependency Injection)这个概念的兴起已经有很长时间了,把这个概念融入到框架中达到出神入化境地的,非Spring莫属。然而在前端领域,似乎很少会提到这个概念,难道前端的代码就不需要解耦吗?前端的代码就没有依赖了?本文将以 React 的源码为例子,看看它是如何使用依赖注入...
2024-01-10vue 源码(依赖收集)
**slice()** 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。依赖收集部分问什么要用这个slice(),浅拷贝,那直接赋值不是也可,这样又什么好处?有点疑惑。。。回答没啥卵用,反倒因为内存拷贝多了一点开销。可能最...
2024-01-10ReenTrantLock源码浅析
ReenTrantLock是什么ReenTrantLock是juc包下的一个经典的互斥锁,也是 可重入锁(即当前线程在已经获取改锁后重复执行获取锁操作时不会引起死锁,并且不需要执行获取锁的操作),ReenTrantLock是基于AQS来实现的(PS:注意是基于不是继承,看到网上有的同学会说发现ReentrantLock并没有继承AQS有所疑问),如果有对AQS不了解...
2024-01-10能读 React 源码的人,很吃香!
近 3、4 年来,随着前端技术渐渐趋于稳定,同质化现象已经越来越明显,大家同样是用 React/Vue,工作内容也是高度相似,企业为了在众多求职者中发掘更优秀的人才,就只能不断提高招聘标准。拿 React 举例,你可能觉得自己对 React 已经足够深入,做好了充分的准备。但其实面试官并不关心你会不会...
2024-01-10ReentrantLock源码之中断
大家好,我跟踪lock.lockInterruptibly()方法时,对这个方法的实现有疑问finally { if (failed) cancelAcquire(node);}当head -> pre -> current -> next时,代码来到这里else { unparkSuccessor(node...
2024-02-17React 源码讲解第1节-准备工作
React 源码讲解第1节-准备工作 先按住 shift ,同时右击选择【在此处打开PowerShell 窗口】。 在打开的窗口中执行 create-react-app react-demo 。create-react-app 是创建 React 脚手架命令。react-demo 是项目名(可自取)。 如果执行该命令报错,则需要先安装全局的 create-react-app 包。 执行命令为 npm install create-react-ap...
2024-01-10Vue AST源码解析第一篇
讲完了数据劫持原理和一堆初始化,现在是DOM相关的代码了。上一节是从这个函数开始的:// Line-3924 Vue.prototype._init = function(options) { // 大量初始化 // ... // Go! if (vm.$options.el) { vm.$mount(vm.$options.el); } };弄完data属性的数据绑定后,开始处理el属性,也就是挂载的DOM节点,这里的vm.$options.el也就...
2024-01-10React 源码解读参考,理解原理。
Rubix - ReactJS Powered Admin Template 文档: http://rubix-docs.sketchpixy.com/=============================== 1, React v16-alpha 从virtual dom 到 dom 源码简读: http://www.cnblogs.com/JhoneLee/p/5886759.html...
2024-01-10【Vue源码学习】依赖收集
前面我们学习了vue的响应式原理,我们知道了vue2底层是通过Object.defineProperty来实现数据响应式的,但是单有这个还不够,我们在data中定义的数据可能没有用于模版渲染,修改这些数据同样会出发setter导致重新渲染,所以vue在这里做了优化,通过收集依赖来判断哪些数据的变更需要触发视图更新。前...
2024-01-10JAVA Vector源码解析和示例代码
第1部分 Vector介绍Vector 是矢量队列,它是JDK1.0版本添加的类。继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口。Vector 继承了AbstractList,实现了List;所以,它是一个队列,支持相关的添加、删除、修改、遍历等功能。Vector 实现了RandmoAccess接口,即提供了随机访问功能。RandmoAccess是java中用来被Lis...
2024-01-10Log4Net 日志配置[附带源码下载]
前述 园子里有许多人对log4net这款开源的日志记录控件有很多介绍。在这里个人再做一次总结,希望对以后有所帮助,需要的时候可以直接使用,减少查阅资料的时间。利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库,并且我们还可以记载控制要记载的日志级别,可...
2024-01-10Vue 源码分析—— 目录结构
一,Vue.js 的源码都是在src 目录下,其目录结构如下。 1.compiler 目录包含Vue.js 所有编译相关的代码。它包括把所有模板解析成ast 语法树, ast 语法树优化等功能。 2.core 目录 包含了Vue.js 的核心代码,包括内置组件,全局API封装,Vue 实例化,观察者,虚拟DOM, 工具函数等等。 (1) observer ...
2024-01-10修改了elementUI 的一句源码,我该何去何从?
我的项目为满足需求,修改了elementIUI 某个组件的一句js代码。并且使用elementUI的方式是按需引入。而且项目是ssr服务端渲染。问题出现了,vue ssr最后生成的首页<head>里注入了大量的 element css 代码。 而 seo有关的百度蜘蛛只展示前200k 的内容, 而我的首页前200k都是css,导致百度快照是空白。。相当于...
2024-01-10JAVA NIO 简介 (netty源码死磕1.1)
【基础篇】netty 源码死磕1.1: JAVA NIO简介1. JAVA NIO简介Java 中 New I/O类库 是由 Java 1.4 引进的异步 IO。由于之前老的I/O类库是阻塞I/O,New I/O类库的目标就是要让Java支持非阻塞I/O,所以,更多的人喜欢称之为非阻塞I/O(Non-block I/O)。NIO弥补了原来同步阻塞I/O的不足,它在标准Java代码中提供了高速的、...
2024-01-10Vue源码学习(二)$mount() 后的做的事(1)
Vue实例初始化完成后,启动加载($mount)模块数据。(一)Vue$3.protype.$mount 标红的函数 compileToFunctions 过于复杂,主要是生AST 树,返回的 ref 如下: render 是浏览器虚拟机编译出来的一个函数。我们点进入可以看到如下代码(自己调整后空格换行后的数...
2024-01-10Vue3 AST解析器-源码解析
目录1、生成 AST 抽象语法树2、创建 AST 的根节点3、解析子节点4、解析模板元素 Element5、示例:模板元素解析上一篇文章Vue3 编译流程-源码解析中,我们从 packges/vue/src/index.ts 的入口开始,了解了一个 Vue 对象的编译流程,在文中我们提到 baseCompile 函数在执行过程中会生成 AST 抽象语法树,毫无疑问这是...
2024-01-10